Networks that primarily utilize data link layer devices are often referred to as layer 2 (L2) networks. A data link layer device is a device that operates within the second layer of the Open Systems Interconnection (OSI) reference model, i.e., the data link layer. One example of a data link layer device is a customer premise equipment (CPE) device, such as a switch, modem, Ethernet card, or wireless access point. Traditional L2 networks include Ethernet networks, asynchronous transfer mode (ATM) networks, frame relay networks, networks using high level data link control (HDLC), point-to-point (PPP) connections, PPP sessions from layer 2 tunneling protocol (L2TP) tunnels, and virtual local area networks (VLANs).
In some instances, a layer three (L3) network is used as an intermediate transport network between two or more separate L2 networks to enable communication between the separate L2 networks. Often these instances occur, for example, when a customer, such as a business, maintains two separate L2 networks at two different geographical locations. In this type of configuration, the L3 network transparently transports L2 communications between the L2 networks, thereby allowing the L2 networks to share an L2 service. The L2 network may be referred to as “customer” L2 networks because they typically purchase, as customers, the above described service provided by the L3 network. The L3 network may be referred to as the “service provider” network because the L3 network services the L2 networks by providing the underlying network upon which the L2 service operates.
One example of an L2 service is a Virtual Private LAN Service (VPLS). In general, VPLS allows two or more remote customer networks to be extended through the service provider (SP) network as if the SP network does not exist. In particular, L2 communications, such as Ethernet frames, are transported between customer networks via the SP network. In a typical configuration, VPLS-enabled routers that are associated with the SP network define label switched paths (LSPs) within the SP network to carry encapsulated L2 communications as if these customer networks were directly connected to the same LAN. To properly communicate via these LSPs, each of these VPLS-enabled routers store L2 information, such as media access control (MAC) addresses, as well as VPLS information, such as local and remote VPLS site information. In this manner, these VPLS-enabled routers provide transparent L2 connectivity across the SP network and transparently simulate a direct LAN.
Because a LAN typically requires the multicast of messages from one CPE device to all CPE devices on the same LAN, the VPLS-enabled routers, to simulate a direct LAN, broadcast traffic received from one customer network to each other customer network within the VPLS domain. This broadcast operation requires that the VPLS-enabled router replicate the traffic for each customer network and forward each instance of the traffic to each customer network, i.e., “flood” the network traffic throughout the simulated LAN or VPLS domain. However, a major concern arises with respect to flooding traffic, as flooded traffic, if not properly managed, may continue to loop the VPLS domain and consume substantial amounts of the SP network's resources.
To prevent these loops, the VPLS-enabled routers typically follow a simple flooding rule, sometimes referred to as “split horizon.” Within the context of VPLS, the split horizon rule prohibits a VPLS-enabled router from forwarding traffic arriving on any interface back over the same interface on which the traffic arrived. This rule prevents the originating customer network from receiving its own traffic and attempting to again forward this traffic to the SP network (i.e., forming a traffic loop). If each other VPLS-enabled router adheres to this rule, the VPLS domain may prevent traffic from continually looping within the SP network and thereby prevent unnecessary consumption of resources used to process traffic within the SP network. Thus, the split horizon rule is often required to be implemented by all VPLS-enabled routers within a given VPLS domain to prevent loops.